[실기] (PART 3) 데이터 입출력 구현

NOTE

정보처리기사 실기 PART 3 — 데이터 모델, 데이터베이스 설계, 정규화, 트랜잭션 등 데이터 입출력 구현 핵심 정리.

📌 개념

  • 데이터 모델 표시요소

    • 연산 : 실제 데이터 처리 작업에 대한 명세
    • 구조 : 데이터베이스에 표현될 대상
    • 제약조건 : 실제 데이터의 논리적인 제약 조건
  • 데이터 모델 절차

    • 개념적 설계 : 현실세계에 대한 인식을 추상적 개념적으로 표현 , ERD (개체 관계 다이어그램)
    • 논리적 설계 : 정규화를 수행, 스키마의 평가 및 정제
    • 물리적 설계 : 데이터베이스 저장구조로 변환, 반정규화 수행
  • 논리적 데이터 모델링 종류

    • 관계 데이터 모델
    • 계층 데이터 모델
    • 네트워크 데이터 모델
  • 관계 대수

    • 일반 집합 연산자
      • 합집합
      • 교집합 : R과 S에 속하는 모든 튜플
      • 차집합 : R에 존재하고 S에 미 존재하는 튜플
      • 카티션 프로젝트 : 모든 튜플 연결
    • 순수 관계 연산자
      • 셀렉트 : 릴레이션 R에서 조건을 만족하는 튜플 반환
      • 프로젝트(파이) : 주어진 속성들의 값으로만 구성
      • 조인 : 공통속성을 이용해 두 튜플들을 연결함
      • 디비전 : 릴레이션 S의 모든 튜플과 관련있는 R의 튜플 반환
  • 관계해석

    • 비절차적 언어 (튜플관계해석과 도메인 관계 해석)
  • 논리데이터모델 속성

    • 개체
    • 속성
    • 관계
  • 데이터베이스 이상현상

    • 삽입이상, 삭제이상, 갱신이상
  • 정규화 단계

    • 원부이결다조
  • 함수 종속

    • 함수 종속 종류
      • 부분 함수 종속 : 기본키가 복합키일 경우 기본키를 구성하는 속성
      • 완전 함수 종속 : x→ y 관계가 있을 떄 y는 x의 전체속성에 대해 종속
      • 이행 함수 종속 : x→y, y→z , x→z
  • 반정규화

    • 중복,통합,분리을 통한 성능향상과 개발 운영 단순화
  • 반정규화 기법

    • 테이블 병합
    • 테이블 분할
    • 중복 테이블 추가
    • 컬럼 중복화
    • 중복관계 추가

  • 물리적 데이터 모델링
    • 논리모델을 적용하고자 하는 기술에 맞도록 상세화함
  • 데이터베이스 무결성 종류
    • 개체무결성 : 기본키는 유일하며, NULL값 불가능
    • 참조 무결성 : 외래키 → 기본 키 값이나 NULL이어야함
    • 속성 무결성 : 기본값, NULL여부, 도메인이 지정된 규칙을 준수
    • 사용자 정의 무결성 : 사용자의 의미적 요구사항 준수
    • 키 무결성 : 한 릴레이션에 같은 키값 불가능
    • 기본키
    • 대체키 : 후보키 중 기본키 선택되지 않은 키
    • 후보키 : 튜플을 구분하는 기준이 되는 칼럼
    • 슈퍼키 : 유일성 만족, 최소성 만족x
    • 외래키 : 참조 데이터 무결성
  • 인덱스
    • 검색연산의 최적화 (빠르게 조회)
  • 파티션 유형(파티션 기법)
    • 범위 분할 (range partition) : 연속적인 숫자나, 날짜로 분할
    • 해시 분할 (hash partition) : 해시 함수 값에 의한 파티셔닝 기법
    • 리스트 분할 (list partition0 : 명시적 제어가 가능 ex) 한국,일본,중국 → 아시아
    • 컴포지트 분할 (composite partition) : 파티션중 2개 이상 결합
    • 라운드로빈 : 회전하면서 새로운 행을 파티션에 할당

  • 데이터베이스 개념
    • 데이터베이스는 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합
    • 데이터베이스 정의
      • 통합된 데이터 : 자료의 중복을 제외
      • 저장된 데이터 : 저장된 데이터
      • 운영 데이터 : 조직의 업무를 수행하는데 필요한 데이터
      • 공용 데이터 : 여러 어플리케이션이 공동으로 사용하는 데이터
    • 데이터베이스 특징
      • 실시간 접근성
      • 계속적인 변화 : 새로운 데이터 삽입, 삭제, 갱신으로 항상 최신상태 유지
      • 동시 공용 : 다수의 사용자 사용
      • 내용 참조 : 사용자가 요구하는 데이터 내용으로 데이터를 찾음
    • 파일시스템
      • 파일에 이름을 부여하고 그것들을 어디에 위치하여하는지 등을 정리한 뒤 데이터를 관리하는 방식
        • 파일시스템 종류
          • ISAM : 인덱스, 색인부에 기록되어 저장되어있음
          • VSAM : 가상, 대형 운영체제에서 사용
    • 데이터베이스 종류
      • 관계형 데이터 베이스
      • 계층형 데이터베이스 - 상하 종속적 관계, 이로 인해 변화에 유연하게 대응 불가ex) IMS, System2000
      • 네트워크 데이터베이스 - ex) IDS, IDMS
    • DBMS 유형
      • 키-값 DBMS : Get, Put, Delete 제공
      • 컬럼 기반 데이터 저장 DBMS : 구글의 Bigtable 기반
      • 문서저장 DBMS : XML, JSON 과 같이 구조화된 데이터 타입, 복잡한 계층 표현 가능
      • 그래프 DBMS : 온톨로지, 시멘틱 웹 활용
    • DBMS특징
      • 데이터 무결성
      • 데이터 일관성
      • 데이터 회복성
      • 데이터 보안성
      • 데이터 효율성
    • 빅데이터
      • 수십 페타바이트 크기의 비정형 데이터
    • 빅데이터 특징
      • 데이터의 양, 다양성, 속도
    • 빅데이터 수집, 저장, 처리 기술
      • 비정형/반정형 수집 : ex) chuckwa, flume, scribe
      • 정형 데이터 수집 : ex) ETL, FTP, 스쿱, 하이호
      • 분산데이터 저장/처리 : ex) HDFS(데이터 집합처리), 맵리듀스(구글에서 데이터처리를 위해 개발)
      • 분산데이터베이스 : HBase
    • NoSql
      • 스키마 필요x
      • 조인 연산 불가
      • 수평적 확장
    • Nosql 특징
      • Basically available : 언제든지 접근 가능 (가용성 중시)
      • Soft-State : 노드의 상태는 외부의 정보를 통해 결정, 특정 시점 일관성 보장 x
      • Eventually Consistency : 데이터 일관성 유지
    • 데이터마이닝
      • 통계적 규칙이나 패턴을 찾아냄
    • 데이터마이닝 주요 기법
      • 분류 규칙 : 과거 데이터로부터 특성을 찾아 분류모형을 만듬
      • 연관 규칙 : 데이터안에 항목들간의 종속관계를 찾음
      • 연속 규칙 : 시간 관련 규칙 + 연관 규칙
      • 데이터 군집화 : 소그룹 분할